package com.xingdata.jjxc.map.navi.activity;

import java.util.Calendar;

import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.location.LocationManager;
import android.provider.Settings;

/**
 * 系统工具类
 * 
 * 项目名称：JJXC_VPN 类名称：SystemTools 类描述： 创建人：JiangMin 创建时间：2015-7-17 下午8:38:17
 * 修改备注：
 * 
 * @version
 * 
 */
public class SystemTools {
	/**
	 * 判断GPS 或者网络是否开启，GPS或者AGPS开启一个就认为是开启的
	 * 
	 * @param context
	 * @return true 表示开启
	 */
	public static final boolean isOPenGPSorNET(final Context context) {
		LocationManager locationManager = (LocationManager) context
				.getSystemService(Context.LOCATION_SERVICE);
		// 通过GPS卫星定位，定位级别可以精确到街（通过24颗卫星定位，在室外和空旷的地方定位准确、速度快）
		boolean gps = locationManager
				.isProviderEnabled(LocationManager.GPS_PROVIDER);
		// 通过WLAN或移动网络(3G/2G)确定的位置（也称作AGPS，辅助GPS定位。主要用于在室内或遮盖物（建筑群或茂密的深林等）密集的地方定位）
		boolean network = locationManager
				.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
		if (gps || network) {
			return true;
		}
		return false;
	}

	/**
	 * 判断GPS 或者网络是否开启，GPS或者AGPS开启一个就认为是开启的
	 * 
	 * @param context
	 * @return true 表示开启
	 */
	public static final boolean isOPenGPS(final Context context) {
		LocationManager locationManager = (LocationManager) context
				.getSystemService(Context.LOCATION_SERVICE);
		// 通过GPS卫星定位，定位级别可以精确到街（通过24颗卫星定位，在室外和空旷的地方定位准确、速度快）
		boolean gps = locationManager
				.isProviderEnabled(LocationManager.GPS_PROVIDER);
		return gps;
	}

	/**
	 * 打开GPS
	 * 
	 * @param context
	 */
	public static void openGPS(final Context context) {
		Intent intent = new Intent(Settings.ACTION_SETTINGS);
//		ComponentName cName = new ComponentName("com.android.phone",
//				"com.android.phone.Settings");
//		intent.setComponent(cName);
		context.startActivity(intent);
	}

	/**
	 * 判断是否黑夜 7:00-18:00
	 * ture 表示为黑夜
	 * 
	 * @param context
	 */
	public static boolean isNight() {
		Calendar c = Calendar.getInstance();
		return (7 > c.get(Calendar.HOUR_OF_DAY) || (18 < c
				.get(Calendar.HOUR_OF_DAY)));
	}
}
